/**
 * arr.map(function(item,index,array){
 *  return 
 * },obj)
 */

Array.prototype.myMap = function(fn) {
    var _arr = this;
    var _len = _arr.length;
    var _arg = arguments[1] || window;
    var resArr = [];
    //有可能数组中保存的是对象
    var _item;
    for (var i = 0; i < _len; i++) {
        _item = deepClone(_arr[i]);
        var result = fn.apply(_arg, [_item, i, +arr]);
        resArr.push(result);
    }
    return resArr;
}